package top.zhangjianyong.blog.enums;

import lombok.Getter;

/**
 * 接口响应枚举
 *
 * @author zhangjianyong
 * @since 2024/7/19 下午7:24
 */
@Getter
public enum RespCode {
  SUCCESS(200, "成功"),
  FAIL(500, "失败"),
  // 用户相关
  USER_NOT_FUND(101, "未找到用户"),
  USER_PASSWORD_ERROR(102, "密码错误"),
  USER_V_CODE_NOT_PASS(103, "验证码错误"),
  USER_CHANGE_PASSWORD_ERROR(104, "修改密码错误"),
  USER_DELETE_ERROR(105, "删除用户错误"),

  USER_SAVE_OR_UPDATE_ERROR(106, "新增修改用户错误"),
  USER_AVATAR_UPLOAD_ERROR(107, "头像上传失败"),
  USER_AVATAR_SAVE_ERROR(108, "头像上传失败"),
  USER_UPDATE_ERROR(109, "用户信息更新失败"),
  USER_GIT_UPDATE_ERROR(110, "用户git更新失败"),
  USER_CLEAR_ROLE_ERROR(111, "清理用户角色失败"),

  USER_NOT_ALLOWED(998, "用户无权限"),
  USER_NOT_LOGIN(999, "请重新登陆"),

  // 角色相关
  ROLE_SAVE_OR_UPDATE_ROLE_ERROR(301, "新增修改角色错误"),
  ROLE_DELETE_ERROR(302, "删除角色错误"),
  ROLE_CLEAR_ERROR(303, "清理角色关系失败"),

  // 菜单相关
  MENU_SAVE_OR_UPDATE_ROLE_ERROR(401, "新增修改菜单错误"),
  MENU_REMOVE_ERROR(402, "删除菜单错误"),
  MENU_CLEAR_ERROR(403, "菜单清理失败"),

  // 角色菜单关联 用户角色关联
  ROLE_MENU_UPDATE_ERROR(501, "角色菜单关联更新错误"),
  USER_ROLE_UPDATE_ERROR(502, "用户角色关联更新错误"),

  // 文件错误
  FILE_UPLOAD_ERROR(601, "文件保存失败"),
  FILE_NOT_FUND(602, "文件未找到"),
  FILE_READ_ERROR(603, "文件读取失败"),

  // 标签错误
  TAG_SAVE_OR_UPDATE_ERROR(701, "标签保存失败"),
  TAG_REMOVE_ERROR(702, "标签删除失败"),

  // 分类
  CATEGORY_SAVE_OR_UPDATE_ERROR(721, "分类保存失败"),
  CATEGORY_REMOVE_ERROR(723, "分类删除失败"),
  CATEGORY_CLEAR_REMOVE_ERROR(723, "分类删除清理失败"),

  // 博客
  BLOG_REMOVE_ERROR(801, "博客删除失败"),
  BLOG_SAVE_OR_UPDATE_ERROR(802, "博客保存失败"),
  BLOG_DETAIL_SAVE_OR_UPDATE_ERROR(803, "博客详情报错失败"),
  BLOG_REMOVE_CLEAR_ERROR(804, "博客删除清理失败"),
  BLOG_TAG_SAVE_OR_UPDATE_ERROR(805, "博客标签保存失败"),
  BLOG_STATUS_CHANGE_ERROR(806, "博客状态修改失败"),
  BLOG_NOT_FUND(807, "不存在的博客"),
  BLOG_PUSH_ERROR(808, "博客发布失败"),
  BLOG_NOT_PUSH_ERROR(809, "博客未发布"),
  BLOG_TOP_ERROR(810, "博客置顶修改失败"),
  BLOG_COMMENT_SAVE_ERROR(811, "新增留言异常"),
  BLOG_REPLY_SAVE_ERROR(812, "新增回复异常"),
  BLOG_COMMENT_NOT_FUND(813, "留言不存在"),
  BLOG_REPLY_NOT_FUND(814, "回复不存在"),
  BLOG_COMMENT_STATUS_CHANGE_FAIL(815, "留言状态修改失败"),
  BLOG_VISIT_EXISTS_FAIL(816, "博客访问记录已存在"),

  // 微博
  WEIBO_SAVE_OR_UPDATE_ERROR(901, "微博保存失败"),
  WEIBO_PUSH_ERROR(902, "微博发布失败"),
  WEIBO_REMOVE_ERROR(903, "微博删除失败"),
  WEIBO_TOP_ERROR(904, "微博置顶修改失败"),
  // 异常
  ERROR_MYBATIS(901, "mybatis异常"),
  // 时间线
  TIME_LINE_SAVE_OR_UPDATE_ERROR(1001, "时间线保存失败"),
  TIME_LINE_REMOVE_ERROR(1002, "时间线删除失败"),
  TIME_LINE_PUSH_ERROR(1003, "时间线发布失败"),
  ;
  private final Integer code;
  private final String msg;

  RespCode(Integer code, String msg) {
    this.code = code;
    this.msg = msg;
  }
}
